import { defineStore } from "pinia";
import { ref } from "vue";

// 定义一个userStore函数
const userStore = () => {
  // 使用ref函数定义一个count变量，初始值为0
  const count = ref(0);
  // 定义一个increment函数，用于增加count的值
  function increment() {
    count.value++;
  }
  // 定义一个reset函数，用于将count的值重置为0
  function reset() {
    count.value = 0;
  }

  function logout(data = 0) {
    count.value = data;
  }

  // 返回count、increment、reset三个函数
  return { count, increment, reset, logout };
};

const options = {
  persist: {
    // 开启数据持久化
    storage: {
      getItem: (key) => uni.getStorageSync(key),
      setItem: (key, val) => uni.setStorageSync(key, val),
    },
  },
};

export const useUserStore = defineStore("user", userStore, options);

// //
// // 使用
// import { mapState, mapStores, mapActions } from 'pinia'
// export default defineComponent({
//   computed: {
//     // 其他计算属性
//     // ...
//     // 允许访问 this.counterStore 和 this.userStore
//     ...mapStores(useCounterStore, useUserStore)
//     // 允许读取 this.count 和 this.double
//     ...mapState(useCounterStore, ['count', 'double']),
//   },
//   methods: {
//     // 允许读取 this.increment()
//     ...mapActions(useCounterStore, ['increment']),
//   },
// })
